最新內容更新於 Blog
Eric
: 剛剛你提到一次啟動多個 Container 的情境,docker compose 可以解決這個需求。
吉米
: 除了啟動多個 container 之外,docker compose 還能做什麼?
Eric
: 例如設定 container 之間的關連,快速佈署等等。
吉米
: 那還等什麼,我們開始吧。
Eric
: 哈哈,沒問題。
docker-compose
是一個用來定義與執行多個 container 的輔助工具。
當使用 docker-compose up
這個指令,它會去依循 compose file 內的定義,依序啟動多個 container ,以及建立它們之間的關連。
compose file 預設名稱為 docker-compose.yml
。
使用 docker-compose ,基本上分為三個步驟
dockerfile
定義應用程式的環境。docker-compose.yml
內的定義,構成應用程式的服務 (service)。docker-compose up
,啟動並運行整個應用程式。在 docker-compose 中,以 服務(service) 稱呼使用 compose file 產生出來的物件。
所以執行 docker-compose --help
時,會看到許多指令的說明,都是以 service 稱呼。
# docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
從這個範例中,可以看到 **docker-compose.yml 的內容,是以 YAML 格式撰寫。**包含 compose file 格式的版本、服務內的 container 設定,以及執行環境的設制。
關於 compose file 內的指令語法,還有許多未能說明的。真的有需求或興趣,可以直接到 Docker 的文件庫內查看。
吉米
: 既然 docker compose 讓佈置變的這麼方便,那接來下,將它與 CI Server 結合在一起吧。
Eric
: 這正是我們接下來的要進行的內容。
吉米
: 好。
<< 待續 >>